import axios from "axios";

// 创建axios对象
let request = axios.create({
    timeout: 5000,
    baseURL: 'http://localhost:8080/api',   //因为后端加了 /api的前缀。 这边对应的是请求后端的路径地址。
})


// request拦截器: 发请求前做一些处理
request.interceptors.request.use(config => {
    // 如果没有写前端路由守卫，这里也可以控制如果没有token时访问资源页面都给我跳转到/login登录页面


    config.headers['Content-Type'] = 'application/json;charset=UTF-8';
    // 设置token
    const user = localStorage.getItem('user');
    if (user){
        config.headers['token'] = JSON.parse(user).token;
    }
    return config
}, error => {
    return Promise.reject(error);
});


// response拦截器: 接口响应后统一处理返回的结果
request.interceptors.response.use(response => {
    let res = response.data
    // 如果前端返回字符串，也要转json
    if (typeof res === 'string'){
        res = res ? JSON.parse(res) : res
    }
    return res;
},error => {
    console.log('err:' +error)
    return Promise.reject(error);
})


// 导出
export default request;
